GRÁFICOS 3D ESPECIAIS
Os pacotes plots e plottools são essenciais para a criação de gráficos 3D especiais, pois é destes pacotes que obtemos os procedimentos para construir esses gráficos.
Veremos a seguir alguns procedimentos do pacote plots .
Curvas espaciais em três dimensões podem ser desenhadas utilizando-se o comando spacecurve .
> with(plots):
> spacecurve({[t*cos(2*Pi*t),t*sin(2*Pi*t),2+t],[t*cos(2*Pi*t),2+t,t*sin(2*Pi*t)],[2+t,t*cos(2*Pi*t),t*sin(2*Pi*t)]},t=0..10, numpoints=400,orientation=[40,70],style=line,axes=box);
As coordenadas paramétricas são default do Maple, por isso não precisamos dar qualquer instrução na opção coo rds para construirmos gráficos com estas coordenadas :.
> restart;
> with(plots):
> plot3d(sin(5*x)*sec(y/2),x=-2/2..2/2,y=-2/2..2/2,axes=BOXED);
Alterando as coordenadas e tendo conhecimento das opções de cada uma delas, podemos criar gráficos com extrema facilidade. Veja os exemplos abaixo:
> with(plots):
> S:=plot3d(1,theta=0..2*Pi,phi=0..Pi,coords=spherical,scaling=constrained,title=`Esfera`):S;
> C:=plot3d(1/2,theta=0..2*Pi,z=-2..2,style=patch,coords=cylindrical,scaling=constrained,title=`Cilindro`): C;
O Maple permite também que façamos combinação de gráficos. Veja abaixo um exemplo de combinação de gráficos utilizando os modelos anteriores :
> subs(style(PATCH)=STYLE(PATCHCONTOUR),display({S,C},orientation=[20,70],scaling=constrained,title=`Combinação`));
O comando tubeplot define um tubo com uma ou mais curvas espaciais em 3D. Veja o exemplo abaixo :
> restart;
> with(plots):
> a:=2: b:=4/5: c:=1: m:=4: n:=7:
> tubeplot([(a+b*cos(n*t))*cos(m*t),(a+b*cos(n*t))*sin(m*t),c*sin(n*t)],t=0..2*Pi,radius=1/4,numpoints=200,tubepoints=20,orientation=[45,10],style=patch,shading=xyz);
Se tivermos superfícies não lineares definidas por uma equação em qualquer sistema de coordenadas, podemos construir seus gráficos utilizando o comando implicitplot3d , como vemos no exemplo abaixo :
> implicitplot3d(cosh(z)=sqrt(x^2+y^2),x=-3..3,y=-3..3,z=-2.5..2.5,grid=[15,15,20],style=patchcontour,contours=15,axes=frame,orientation=[30,70]);
Se quisermos obter o gráfico a partir de uma função complexa, o comando a ser utilizado será complexplot3d . Abaixo, temos o exemplo da utilização deste comando com a uma função especial denominada função GAMMA :
> complexplot3d(GAMMA(z),z=-Pi-Pi*I..Pi+Pi*I,view=0..5,grid=[30,30],style=patchcontour,axes=frame,orientation=[-120,45]);
O Maple possui comandos que nos permitem construir inúmeros poliedros com muita facilidade. Veremos a seguir um exemplo utilizando o comando polyhedraplot para construir um dodecaedro :
> polyhedraplot([0,0,0],polytype=dodecahedron,style=patch,scaling=constrained,orientation=[71,66]);